//   Copyright [SkyOS] [mrblond@skyhack.com.ar]
//
//   Licensed under the Apache License, Version 2.0 (the "License");
//   you may not use this file except in compliance with the License.
//   You may obtain a copy of the License at
//
//       http://www.apache.org/licenses/LICENSE-2.0
//
//   Unless required by applicable law or agreed to in writing, software
//   distributed under the License is distributed on an "AS IS" BASIS,
//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//   See the License for the specific language governing permissions and
//   limitations under the License.


#ifndef TYPES_HPP_
#define TYPES_HPP_

// Type of Variables
typedef bool			uBool;
typedef unsigned char   uByte,    *puByte;
typedef unsigned short  uShort,   *puShort;
typedef unsigned int    uInt,     *puInt;
typedef void*	        uPointer, *puPointer;
#ifdef _SCRIPT_BIT_MODE_64_	// 64Bits
typedef unsigned long	uLong, uPointerHolder, *puLong, *puPointerHolder;
typedef unsigned long	uSizeT, *puSizeT;
#elif  _SCRIPT_BIT_MODE_32_ // 32Bits
typedef unsigned int	uPointerHolder, *puPointerHolder;
typedef unsigned int	uSizeT, *puSizeT;
#elif  _SCRIPT_BIT_MODE_16_ // 16Bits
typedef unsigned short	uPointerHolder, *puPointerHolder;
typedef unsigned short	uSizeT, *puSizeT;
#endif
typedef uSizeT			uErrorCode;

#endif /* TYPES_HPP_ */
